package com.hboxs.asl.entity;

import javax.persistence.*;

@Entity
@Table(name = "xx_admin_wechat")
@SequenceGenerator(name = "sequenceGenerator", sequenceName = "xx_admin_wechat_sequence")
public class AdminWechat extends BaseEntity {
    private static final long serialVersionUID = -2851265305898779945L;

    /**
     * 性别
     */
    public enum Gender {

        /** 未知 */
        unknown,

        /** 男 */
        male,

        /** 女 */
        female
    }

    private Admin admin;
    private String openid;
    private String unionid;
    private String scope;
    private String ticket;
    private Gender sex;
    private String image;
    private String mediaId;
    private String lat;
    private String lon;
    private String prec;


    /**
     * 获取admin
     * @return admin
     */
    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(nullable = false, updatable = false)
    public Admin getAdmin() {
        return admin;
    }

    /**
     * 设置admin
     * @param admin admin
     */
    public void setAdmin(Admin admin) {
        this.admin = admin;
    }

    /**
     * 获取openid
     * @return 微信用户openid
     */
    public String getOpenid() {
        return openid;
    }

    /**
     * 设置openid
     * @param openid 微信用户openid
     */
    public void setOpenid(String openid) {
        this.openid = openid;
    }

    /**
     * 获取unionid
     * @return 微信用户unionid
     */
    public String getUnionid() {
        return unionid;
    }

    /**
     * 设置unionid
     * @param unionid 微信用户unionid
     */
    public void setUnionid(String unionid) {
        this.unionid = unionid;
    }

    /**
     * 获取应用授权作用域<br>
     *    应用授权作用域，<br>
     *    snsapi_base （不弹出授权页面，直接跳转，只能获取用户openid），<br>
     *    snsapi_userinfo （弹出授权页面，可通过openid拿到昵称、性别、所在地。并且，即使在未关注的情况下，只要用户授权，也能获取其信息）
     * @return 应用授权作用域
     */
    public String getScope() {
        return scope;
    }

    /**
     * 设置应用授权作用域
     * @param scope 应用授权作用域
     */
    public void setScope(String scope) {
        this.scope = scope;
    }

    /**
     * 获取二维码票据
     * @return 二维码票据
     */
    public String getTicket() {
        return ticket;
    }

    /**
     * 设置二维码票据
     * @param ticket 二维码票据
     */
    public void setTicket(String ticket) {
        this.ticket = ticket;
    }

    /**
     * 获取性别
     * @return 性别
     */
    public Gender getSex() {
        return sex;
    }

    /**
     * 设置性别
     * @param sex 性别
     */
    public void setSex(Gender sex) {
        this.sex = sex;
    }

    /**
     * 获取头像
     * @return 头像
     */
    public String getImage() {
        return image;
    }

    /**
     * 设置头像
     * @param image 头像
     */
    public void setImage(String image) {
        this.image = image;
    }

    /**
     * 获取二维码mediaid
     * @return 二维码mediaid
     */
    public String getMediaId() {
        return mediaId;
    }

    /**
     * 设置二维码mediaid
     * @param mediaId 二维码mediaid
     */
    public void setMediaId(String mediaId) {
        this.mediaId = mediaId;
    }

    /**
     * 获取纬度
     * @return 用户纬度
     */
    public String getLat() {
        return lat;
    }

    /**
     * 设置纬度
     * @param lat 用户纬度
     */
    public void setLat(String lat) {
        this.lat = lat;
    }

    /**
     * 获取经度
     * @return 用户经度
     */
    public String getLon() {
        return lon;
    }

    /**
     * 设置经度
     * @param lon 用户经度
     */
    public void setLon(String lon) {
        this.lon = lon;
    }

    /**
     * 获取精度
     * @return 经纬度精度
     */
    public String getPrec() {
        return prec;
    }

    /**
     * 设置精度
     * @param prec 经纬度精度
     */
    public void setPrec(String prec) {
        this.prec = prec;
    }
}
